package com.osce.common.core.entity.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.osce.common.annotation.Excel;
import com.osce.common.core.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

/**
 * 用户信息扩展表对象 sys_user_info
 *
 * @author zzx
 * @since 2023-07-18
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@ToString
@EqualsAndHashCode(callSuper = true)
public class SysUserInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 学校
     */
    @Excel(name = "学校")
    @ApiModelProperty("学校")
    private Long school;
    private Map<String, Object> schoolObj;

    /**
     * 学科
     */
    @Excel(name = "学科")
    @ApiModelProperty("学科")
    private Long base;
    private Map<String, Object> baseObj;

    /**
     * 职称
     */
    @Excel(name = "职称")
    @ApiModelProperty("职称")
    private Long post;

    /**
     * 学历
     */
    @Excel(name = "学历", dictType = "basic_educatiod_dict")
    @ApiModelProperty("学历")
    private Integer educatiod;

    /**
     * 学位
     */
    @Excel(name = "学位", dictType = "basic_degree_dict")
    @ApiModelProperty("学位")
    private Integer degree;

    /**
     * 学位类型
     */
    @Excel(name = "学位类型", dictType = "basic_degree_type_dict")
    @ApiModelProperty("学位类型")
    private Integer degreeType;

    /**
     * 授予最高学位院校及专业
     */
    @Excel(name = "授予最高学位院校及专业")
    @ApiModelProperty("授予最高学位院校及专业")
    private String highestDegree;

    /**
     * 身高
     */
    @Excel(name = "身高")
    @ApiModelProperty("身高")
    private BigDecimal height;

    /**
     * 体重
     */
    @Excel(name = "体重")
    @ApiModelProperty("体重")
    private BigDecimal weight;

    /**
     * 国籍
     */
    @Excel(name = "国籍", dictType = "basic_nationality_dict")
    @ApiModelProperty("国籍")
    private Integer nationality;

    /**
     * 婚姻状态
     */
    @Excel(name = "婚姻状态", dictType = "basic_marital_dict")
    @ApiModelProperty("婚姻状态")
    private Integer marital;

    /**
     * 生育状态
     */
    @Excel(name = "生育状态", dictType = "basic_birth_dict")
    @ApiModelProperty("生育状态")
    private Integer birth;

    /**
     * 政治面貌
     */
    @Excel(name = "政治面貌", dictType = "basic_politics_status_dict")
    @ApiModelProperty("政治面貌")
    private Integer politicsStatus;

    /**
     * 医师资格证书号
     */
    @Excel(name = "医师资格证书号")
    @ApiModelProperty("医师资格证书号")
    private String docCertNum;

    /**
     * 资格证书获得时间
     */
    @Excel(name = "资格证书获得时间")
    @ApiModelProperty("资格证书获得时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date certGetTime;

    /**
     * 预留字段1
     */
    @ApiModelProperty("资格证书获得时间")
    private String reservedOne;

    /**
     * 预留字段2
     */
    @ApiModelProperty("资格证书获得时间")
    private String reservedTwo;
}
